// 判断素数, 完成

#include <iostream>
using namespace std;

#include <math.h>

int GetNum();

void IsItPrime(int n);

bool CheckIt(int n);

int main() {
    IsItPrime(GetNum());
}

int GetNum() {
    int n;
    bool ok;
    do {
        cout << "请输入一个正整数: ";
        cin >> n;

        ok = CheckIt(n);
        if (false == ok) {
            cout << "输入的数据不合理，请重新输入\n";
        }
    } while (false == ok);
    return n;
}

bool CheckIt(int n) {
    if (n <= 0) {
        return false;
    }
    return true;
}

void IsItPrime(int n) {
    // 从2循环到sqrt(n)查看余数
    for (int i = 2, last = (int)sqrt(n); i <= last; i++) {
        if (n % i == 0) {
            cout << "数值 " << n << " 不是素数"
                << "可以被 " << i << " 整除\n";
            return;
        }
    }
    cout << "数值 " << n << " 是素数\n";
}
